﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Kulu : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKulu {
        
        private System.Int64? @__objektID;
        
        private System.Int64? @__liikKL;
        
        private string @__selgitus;
        
        private System.Decimal? @__summa;
        
        private System.Int64? @__valuutaKL;
        
        private System.Int64? @__tyypKL;
        
        private System.Int64? @__alaLiikKL;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IIsik @__kuluSaajaIsik;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming @__toiming;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue> @__aluselTekkinudNouded = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue>();
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue> @__aluseksOlevadNouded = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue>();
        
        private System.DateTime? @__tekkimiseKP;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa> @__pohjustamiseOsad = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa>();
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa> @__kandmiseOsad = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa>();
        
        private System.Int64? @__pohjustamiseJagamiseViisKL;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlus @__menetlus;
        
        private System.DateTime? @__sisestamiseKP;
        
        private string @__sisestaja;
        
        private System.DateTime? @__muutmiseKP;
        
        private string @__muutja;
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__klientsysteemiID;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> @__hoiatused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus>();
        
        public Kulu() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Kulu(
                    System.Int64? @objektID, 
                    System.Int64? @liikKL, 
                    string @selgitus, 
                    System.Decimal? @summa, 
                    System.Int64? @valuutaKL, 
                    System.Int64? @tyypKL, 
                    System.Int64? @alaLiikKL, 
                    System.DateTime? @algusKP, 
                    System.DateTime? @loppKP, 
                    global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IIsik @kuluSaajaIsik, 
                    global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming @toiming, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue> @aluselTekkinudNouded, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue> @aluseksOlevadNouded, 
                    System.DateTime? @tekkimiseKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa> @pohjustamiseOsad, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa> @kandmiseOsad, 
                    System.Int64? @pohjustamiseJagamiseViisKL, 
                    global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlus @menetlus, 
                    System.DateTime? @sisestamiseKP, 
                    string @sisestaja, 
                    System.DateTime? @muutmiseKP, 
                    string @muutja, 
                    System.DateTime? @sulgemiseKP, 
                    string @klientsysteemiID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> @hoiatused) {
            this.@__objektID = @objektID;
            this.@__liikKL = @liikKL;
            this.@__selgitus = @selgitus;
            this.@__summa = @summa;
            this.@__valuutaKL = @valuutaKL;
            this.@__tyypKL = @tyypKL;
            this.@__alaLiikKL = @alaLiikKL;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__kuluSaajaIsik = @kuluSaajaIsik;
            this.@__toiming = @toiming;
            this.@__aluselTekkinudNouded = @aluselTekkinudNouded;
            this.@__aluseksOlevadNouded = @aluseksOlevadNouded;
            this.@__tekkimiseKP = @tekkimiseKP;
            this.@__pohjustamiseOsad = @pohjustamiseOsad;
            this.@__kandmiseOsad = @kandmiseOsad;
            this.@__pohjustamiseJagamiseViisKL = @pohjustamiseJagamiseViisKL;
            this.@__menetlus = @menetlus;
            this.@__sisestamiseKP = @sisestamiseKP;
            this.@__sisestaja = @sisestaja;
            this.@__muutmiseKP = @muutmiseKP;
            this.@__muutja = @muutja;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__klientsysteemiID = @klientsysteemiID;
            this.@__hoiatused = @hoiatused;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Kulu(IKulu @kulu) {
            this.@__objektID = @kulu.ObjektID;
            this.@__liikKL = @kulu.LiikKL;
            this.@__selgitus = @kulu.Selgitus;
            this.@__summa = @kulu.Summa;
            this.@__valuutaKL = @kulu.ValuutaKL;
            this.@__tyypKL = @kulu.TyypKL;
            this.@__alaLiikKL = @kulu.AlaLiikKL;
            this.@__algusKP = @kulu.AlgusKP;
            this.@__loppKP = @kulu.LoppKP;
            this.@__kuluSaajaIsik = @kulu.KuluSaajaIsik;
            this.@__toiming = @kulu.Toiming;
            this.@__aluselTekkinudNouded = @kulu.AluselTekkinudNouded;
            this.@__aluseksOlevadNouded = @kulu.AluseksOlevadNouded;
            this.@__tekkimiseKP = @kulu.TekkimiseKP;
            this.@__pohjustamiseOsad = @kulu.PohjustamiseOsad;
            this.@__kandmiseOsad = @kulu.KandmiseOsad;
            this.@__pohjustamiseJagamiseViisKL = @kulu.PohjustamiseJagamiseViisKL;
            this.@__menetlus = @kulu.Menetlus;
            this.@__sisestamiseKP = @kulu.SisestamiseKP;
            this.@__sisestaja = @kulu.Sisestaja;
            this.@__muutmiseKP = @kulu.MuutmiseKP;
            this.@__muutja = @kulu.Muutja;
            this.@__sulgemiseKP = @kulu.SulgemiseKP;
            this.@__klientsysteemiID = @kulu.KlientsysteemiID;
            this.@__hoiatused = @kulu.Hoiatused;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.Int64? LiikKL {
            get {
                return this.@__liikKL;
            }
            set {
                this.@__liikKL = value;
            }
        }
        
        public virtual string Selgitus {
            get {
                return this.@__selgitus;
            }
            set {
                this.@__selgitus = value;
            }
        }
        
        public virtual System.Decimal? Summa {
            get {
                return this.@__summa;
            }
            set {
                this.@__summa = value;
            }
        }
        
        public virtual System.Int64? ValuutaKL {
            get {
                return this.@__valuutaKL;
            }
            set {
                this.@__valuutaKL = value;
            }
        }
        
        public virtual System.Int64? TyypKL {
            get {
                return this.@__tyypKL;
            }
            set {
                this.@__tyypKL = value;
            }
        }
        
        public virtual System.Int64? AlaLiikKL {
            get {
                return this.@__alaLiikKL;
            }
            set {
                this.@__alaLiikKL = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IIsik KuluSaajaIsik {
            get {
                return this.@__kuluSaajaIsik;
            }
            set {
                this.@__kuluSaajaIsik = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming Toiming {
            get {
                return this.@__toiming;
            }
            set {
                this.@__toiming = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue> AluselTekkinudNouded {
            get {
                return this.@__aluselTekkinudNouded;
            }
            set {
                this.@__aluselTekkinudNouded = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue> AluseksOlevadNouded {
            get {
                return this.@__aluseksOlevadNouded;
            }
            set {
                this.@__aluseksOlevadNouded = value;
            }
        }
        
        public virtual System.DateTime? TekkimiseKP {
            get {
                return this.@__tekkimiseKP;
            }
            set {
                this.@__tekkimiseKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa> PohjustamiseOsad {
            get {
                return this.@__pohjustamiseOsad;
            }
            set {
                this.@__pohjustamiseOsad = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa> KandmiseOsad {
            get {
                return this.@__kandmiseOsad;
            }
            set {
                this.@__kandmiseOsad = value;
            }
        }
        
        public virtual System.Int64? PohjustamiseJagamiseViisKL {
            get {
                return this.@__pohjustamiseJagamiseViisKL;
            }
            set {
                this.@__pohjustamiseJagamiseViisKL = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlus Menetlus {
            get {
                return this.@__menetlus;
            }
            set {
                this.@__menetlus = value;
            }
        }
        
        public virtual System.DateTime? SisestamiseKP {
            get {
                return this.@__sisestamiseKP;
            }
            set {
                this.@__sisestamiseKP = value;
            }
        }
        
        public virtual string Sisestaja {
            get {
                return this.@__sisestaja;
            }
            set {
                this.@__sisestaja = value;
            }
        }
        
        public virtual System.DateTime? MuutmiseKP {
            get {
                return this.@__muutmiseKP;
            }
            set {
                this.@__muutmiseKP = value;
            }
        }
        
        public virtual string Muutja {
            get {
                return this.@__muutja;
            }
            set {
                this.@__muutja = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> Hoiatused {
            get {
                return this.@__hoiatused;
            }
            set {
                this.@__hoiatused = value;
            }
        }
    }
}
